package com.stylefeng.guns.modular.system.model;

import com.baomidou.mybatisplus.enums.IdType;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author stylefeng
 * @since 2018-08-28
 */
@TableName("user")
public class AppUser extends Model<AppUser> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 渠道id
     */
    @TableField("channel_id")
    private Long channelId;
    /**
     * 来源(用户id)
     */
    private Long source;
    /**
     * 设备token
     */
    @TableField("device_token")
    private String deviceToken;
    /**
     * 头像
     */
    @TableField("photo_url")
    private String photoUrl;
    /**
     * 昵称
     */
    @TableField("nick_name")
    private String nickName;
    /**
     * 性别（0：保密，1：男，2：女）
     */
    private Integer sex;
    /**
     * 省份
     */
    private String province;
    /**
     * 城市
     */
    private String city;
    /**
     * 职业
     */
    private String job;
    /**
     * 区号(+86)
     */
    private String zone;
    /**
     * 原手机号码
     */
    private String phone;
    /**
     * 描述
     */
    private String info;
    /**
     * 最后一次活跃的时间
     */
    @TableField("last_actived_time")
    private Date lastActivedTime;
    /**
     * 是否是VIP用户
     */
    @TableField("is_vip")
    private Integer isVip;
    /**
     * 账户金额
     */
    @TableField("account_money")
    private BigDecimal accountMoney;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 修改时间
     */
    @TableField("update_time")
    private Date updateTime;


    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getChannelId() {
        return channelId;
    }

    public void setChannelId(Long channelId) {
        this.channelId = channelId;
    }

    public Long getSource() {
        return source;
    }

    public void setSource(Long source) {
        this.source = source;
    }

    public String getDeviceToken() {
        return deviceToken;
    }

    public void setDeviceToken(String deviceToken) {
        this.deviceToken = deviceToken;
    }

    public String getPhotoUrl() {
        return photoUrl;
    }

    public void setPhotoUrl(String photoUrl) {
        this.photoUrl = photoUrl;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getJob() {
        return job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public String getZone() {
        return zone;
    }

    public void setZone(String zone) {
        this.zone = zone;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getInfo() {
        return info;
    }

    public void setInfo(String info) {
        this.info = info;
    }

    public Date getLastActivedTime() {
        return lastActivedTime;
    }

    public void setLastActivedTime(Date lastActivedTime) {
        this.lastActivedTime = lastActivedTime;
    }

    public Integer getIsVip() {
        return isVip;
    }

    public void setIsVip(Integer isVip) {
        this.isVip = isVip;
    }

    public BigDecimal getAccountMoney() {
        return accountMoney;
    }

    public void setAccountMoney(BigDecimal accountMoney) {
        this.accountMoney = accountMoney;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "AppUser{" +
        "id=" + id +
        ", channelId=" + channelId +
        ", source=" + source +
        ", deviceToken=" + deviceToken +
        ", photoUrl=" + photoUrl +
        ", nickName=" + nickName +
        ", sex=" + sex +
        ", province=" + province +
        ", city=" + city +
        ", job=" + job +
        ", zone=" + zone +
        ", phone=" + phone +
        ", info=" + info +
        ", lastActivedTime=" + lastActivedTime +
        ", isVip=" + isVip +
        ", accountMoney=" + accountMoney +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        "}";
    }
}
